#pragma once

#include "GraphSystem.h"
#include <Windows.h>

namespace LSH_D3D9{
	class D3D9Device;
}

LSH_NAMESPACE_BEGIN

class D3D9GraphSystem : public GraphSystem, public Singleton<D3D9GraphSystem>
{
	friend class Singleton<D3D9GraphSystem>;
protected:
	D3D9GraphSystem(void);
	virtual ~D3D9GraphSystem(void);
public:
	virtual bool Init(System* pSystem);
	virtual bool Shutdown();
public:
	bool CreateGraph(bool windowed, unsigned int width, unsigned int height, unsigned depth);
public:
	virtual void BeginRender();
	virtual void EndRender();
protected:
	System*						_pSystem;
	LSH_D3D9::D3D9Device*		_pD3D9Device;
	unsigned int				_width;
	unsigned int				_height;
    unsigned int                _depth;
    bool                        _windowed;
};

LSH_NAMESPACE_END

